From d4a6c2c2418ddc152deb6549d46970ce21a3a49a Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Thu, 12 Oct 2017 14:19:35 +0200 Subject: [PATCH] gtkwidget: Check return value before running bubble phase If the target widget gets the event consumed on the target phase, we should not attempt to bubble up, not even within the same widget. --- gtk/gtkwidget.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index 63dd5226b2..905b2c61cf 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -6802,7 +6802,8 @@ gtk_widget_event_internal (GtkWidget *widget, _gtk_tooltip_focus_out (widget); } - return_val |= _gtk_widget_run_controllers (widget, event_copy, GTK_PHASE_BUBBLE); + if (return_val == FALSE) + return_val |= _gtk_widget_run_controllers (widget, event_copy, GTK_PHASE_BUBBLE); gdk_event_free (event_copy); return return_val; -- 2.30.2